package cn.itcast.user.web;

import org.slf4j.MDC;
import org.springframework.stereotype.Component;

import javax.servlet.*;
import java.io.IOException;

@Component
public class MdcFilter implements Filter {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        // 生成或获取会话ID和请求ID（这里简单使用UUID作为示例）
        String groupId = "11111111";

        // 将ID设置到MDC中
        MDC.put("groupId", groupId);

        try {
            // 继续处理请求
            chain.doFilter(request, response);
        } finally {
            // 清除MDC中的信息
            MDC.clear();
        }
    }

    @Override
    public void destroy() {
        // 销毁逻辑（如果需要）
    }
}